package com.vibration.socket.util;
import com.vibration.socket.utils.Complex;
import org.apache.commons.math3.transform.DftNormalization;
import org.apache.commons.math3.transform.FastFourierTransformer;
import org.apache.commons.math3.transform.TransformType;

import java.util.HashMap;
import java.util.Map;


public class FFTUtil {
    /**
     * 快速傅里叶变换
     * @param x
     * @return
     */
    public static Complex[] fft(Complex[] x) {
        int n = x.length;

        // 因为exp(-2i*n*PI)=1，n=1时递归原点
        if (n == 1){
            //  这里和B博客中有一点变化
            return new Complex[]{x[0]};
        }

        // 如果信号数为奇数，使用dft计算
        if (n % 2 != 0) {
            return dft(x);
        }

        // 提取下标为偶数的原始信号值进行递归fft计算
        Complex[] even = new Complex[n / 2];
        for (int k = 0; k < n / 2; k++) {
            even[k] = x[2 * k];
        }
        Complex[] evenValue = fft(even);

        // 提取下标为奇数的原始信号值进行fft计算
        // 节约内存
        Complex[] odd = even;
        for (int k = 0; k < n / 2; k++) {
            odd[k] = x[2 * k + 1];
        }
        Complex[] oddValue = fft(odd);

        // 偶数+奇数
        Complex[] result = new Complex[n];
        for (int k = 0; k < n / 2; k++) {
            // 使用欧拉公式e^(-i*2pi*k/N) = cos(-2pi*k/N) + i*sin(-2pi*k/N)
            double p = -2 * k * Math.PI / n;
            Complex m = new Complex(Math.cos(p), Math.sin(p));
            result[k] = evenValue[k].plus(m.multiple(oddValue[k]));
            // exp(-2*(k+n/2)*PI/n) 相当于 -exp(-2*k*PI/n)，其中exp(-n*PI)=-1(欧拉公式);
            result[k + n / 2] = evenValue[k].minus(m.multiple(oddValue[k]));
        }
        return result;
    }

    public static Complex[] dft(Complex[] x) {
        int n = x.length;
        // exp(-2i*n*PI)=cos(-2*n*PI)+i*sin(-2*n*PI)=1
        if (n == 1)
            return new Complex[]{x[0]};

        Complex[] result = new Complex[n];
        for (int i = 0; i < n; i++) {
            result[i] = new Complex(0, 0);
            for (int k = 0; k < n; k++) {
                //使用欧拉公式e^(-i*2pi*k/N) = cos(-2pi*k/N) + i*sin(-2pi*k/N)
                double p = -2 * i * k* Math.PI / n;
                Complex m = new Complex(Math.cos(p), Math.sin(p));
                result[i] = result[i].plus(x[k].multiple(m));
            }
        }
        return result;
    }

    //单边频谱
    public static double[] pp(Complex [] Y){
        int L = Y.length;
        double[] p2 = new double[L];
        for(int i=0;i< Y.length;i++){
            p2[i] = Y[i].abs()/L;
        }
        double[] p1 = new double[L/2+1];
        for(int i=0;i<L/2+1;i++){
            p1[i] = p2[i];
        }
        for(int i=1;i<p1.length-1;i++){
            p1[i] = p1[i]*2;
        }
        return p1;
    }

    //计算谱比
    public static Map<String,double[]> hv(int fs,double [] x, double []y, double []z){
        //频率
        int Fs = fs;
        int L = x.length;
        double[] f = new double[L/2+1];
        Map<String,double[]> map = new HashMap<>();
        for(int i=0;i<=L/2;i++){
            f[i] = Fs*1.00*i/L;
        }
        map.put("f",f);

        //变换为复数
        Complex[] X= new Complex[L];
        Complex[] Y= new Complex[L];
        Complex[] Z= new Complex[L];
        for (int i = 0; i < L; i++) {
            X[i] = new Complex(x[i],0.0);
            Y[i] = new Complex(y[i],0.0);
            Z[i] = new Complex(z[i],0.0);
        }
        //变换X
        Complex[] complexX = fft(X);
        double[] p1X = pp(complexX);
        //变换y
        Complex[] complexY = fft(Y);
        double[] p1Y = pp(complexY);
        //变换z
        Complex[] complexZ = fft(Z);
        double[] p1Z = pp(complexZ);
        double[] hv = new double[p1X.length];
        for(int i=0;i<p1X.length;i++){
            double xy = Math.sqrt(p1X[i]*p1X[i]+p1Y[i]*p1Y[i]);
            hv[i] = xy/p1Z[i];
        }
        map.put("hv",hv);
        return map;
    }


    public static void main(String[] args) {
        String x="-0.14811756,0.032484535,0.004470349,-0.11056663,0.050663956,0.06139279,0.084936626,0.020861628,-0.034570698,-0.048875816,-0.13411047,-0.07987023,0.019967558,0.07212163,0.035166744,0.073611744,0.05394221,-0.09775163,-0.057816513,-0.098049656,-0.04410744,0.14662744,-0.0154972095,0.03010035,0.07599593,-0.14245512,-0.025928024,-0.028610233,0.008940698,0.045299534,-0.17791988,0.0053644185,0.10609628,0.030696396,0.11980535,-0.014305117,-0.120103374,-0.09059907,-8.940698E-4,0.07569791,-5.960465E-4,0.04321337,-0.033378605,-0.12576582,0.08136035,-0.017881395,-0.04112721,0.13858081,-0.11265279,-0.06228686,0.028014187,-0.08791686,0.07718802,0.061988838,0.059008606,-0.0062584886,-0.081956394,-0.06556512,-0.054240234,0.06139279,-0.0602007,0.057220466,-0.028908256,-0.052452095,0.17344953,-0.1397729,0.034570698,0.018477442,-0.14513732,-0.003278256,-0.026822094,0.14781953,-0.014007093,-0.064373024,0.04202128,0.029504303,0.015199186,-0.13858081,-0.0935793,0.05751849,0.088512905,0.0154972095,-0.04410744,-0.0423193,0.061690815,-0.021457674,-0.02920628,0.04202128,-0.09387733,-0.01460314,0.067353256,0.0128150005,-0.067353256,-0.020265581,0.05215407,-0.014901163,-0.031292442,0.046193603,-0.049471863,-0.02831221,0.09387733,-0.13768674,-0.028014187,0.080168255,0.012516977,0.019967558,-0.1037121,0.004470349,0.01102686,0.028610233,0.02652407,-0.1654029,0.034272674,0.05096198,-0.018775465,0.100731865,-0.097155586,0.051558025,-0.013113024,-0.13887884,0.12874605,-0.1743436,0.012516977,0.17493965,-0.07241965,0.09417535,-0.15914442,-0.0730157,0.09238721,-0.0077486048,0.07629395,-0.16808511,-0.01102686,0.052750118,0.06556512,0.14334919,-0.21576884,-0.03308058,0.0035762792,0.08344651,0.30756,-0.1588464,-0.50544745,-0.20802024,0.24318698,0.18417837,0.16123058,0.10520221,0.017583372,-0.1242757,-0.1654029,0.03010035,-0.17315151,-0.030696396,-0.12874605,0.0041723256,0.40888792,0.20086768,0.20176175,-0.21249059,-0.42051083,-0.29921535,-0.09566547,0.41425234,8.940698E-4,-0.049471863,0.2628565,-0.106394306,0.14185907,0.02741814,-0.31352046,-0.17076732,-0.19252303,0.22053722,0.28252605,0.06705523,-0.06973744,-0.018179419,0.07539988,-0.2908707,-0.025033955,-0.025331978,-0.052452095,0.20951036,-0.028908256,0.11324884,-0.0017881396,-0.13113023,-0.0020861628,-0.14394523,-0.036060814,0.058710583,0.13947488,0.033378605,-0.12159349,0.039041046,-0.1320243,0.011920931,0.14364721,-0.17315151,0.013411047,0.13232233,0.08702279,-0.047981746,-0.18388034,0.0071525583,-0.16301872,-0.018179419,0.26822093,0.04410744,0.140965,-0.22351745,-0.2101064,0.17941,-0.11205675,0.0807643,-0.10192396,-0.03755093,0.19282106,-0.047981746,0.14334919,-0.1242757,-0.057220466,0.04023314,-0.24318698,0.039041046,0.10520221,0.029504303,0.096261516,0.025630001,-0.044405464,-0.14632942,-0.109970585,0.04023314,-0.013411047,0.047981746,0.09566547,0.056326397,0.0017881396,-0.11980535,-0.047981746,-0.04827977,-0.0679493,-0.020265581,0.16003849,0.20414594,-0.09089709,-0.14632942,-0.12964012,-0.043809418,0.038146976,0.077486046,0.070929535,-0.039041046,-0.01102686,0.033378605,0.09000302,-0.1397729,-0.14662744,0.025630001,0.011622907,0.10848047,-0.018477442,-0.036060814,0.020265581,-0.030398373,0.006854535,-0.036358837,-0.0074505815,0.053346165,-0.09208918,-0.008046628,0.14066698,-0.072717674,-0.085830696,-0.0029802327,-0.0128150005,0.067353256,-0.03486872,-0.026822094,0.04142523,-0.07808209,0.033676628,0.01460314,-0.07629395,0.04589558,-0.0050663953,-0.020861628,-0.0062584886,0.027716164,0.0473857,-0.076591976,-0.043511394,-0.05185605,-0.0071525583,0.016689302,-0.059902675,0.16689302,0.05841256,-0.13619663,-0.031292442,0.028014187,0.064075,-0.16093256,0.014007093,0.08136035,-0.119209304,0.04023314,-0.028610233,0.23037198,-0.0014901164,-0.28640035,0.08404256,-0.04917384,0.060796745,-0.12248756,-0.12815,0.33020976,-0.027120117,-0.06496907,0.023245813,-0.064075,0.06586314,-0.13858081,-0.06973744,0.043511394,-0.043809418,0.1320243,0.110864654,-0.055134304,-0.09387733,0.004470349,-0.04023314,-0.105500236,0.014007093,-0.02920628,0.022649767,0.18477441,0.01370907,-0.0730157,0.013113024,-0.13560058,-0.029802326,0.021755697,-0.06884337,0.086724766,-0.0071525583,0.018477442,0.09834768,-0.10490419,-0.0053644185,-0.004470349,-0.10937454,0.0730157,-0.0473857,0.018179419,0.07420779,-0.059604652,0.06556512,-0.051260002,0.008642674,-0.09596349,-0.085830696,0.19222501,-0.07629395,0.010132791,0.027716164,-0.077486046,0.033676628,-0.20146373,0.23275617,0.11414291,-0.45448548,0.37491325,0.07867814,-0.3191829,0.13649465,-0.28371814,0.18775466,0.22262338,-0.2959371,0.051260002,0.05185605,0.1448393,0.0071525583,-0.21576884,0.0050663953,-0.013113024,-0.034272674,-0.002384186,-0.020265581,0.06139279,0.014305117,0.04589558,0.011324883,-0.08136035,0.052750118,-0.0807643,-0.11056663,0.015199186,0.054538257,0.019669535,0.017583372,0.15318395,-0.019371511,-0.18090011,-0.16003849,0.029504303,0.1114607,-0.002384186,0.05185605,0.014007093,-0.033378605,-0.026226047,0.008642674,-0.05751849,-0.091195114,0.009536744,0.022649767,0.031590465,0.059902675,0.061988838,-0.0154972095,0.032186512,-0.22202733,-0.20176175,0.17136337,0.05006791,0.08136035,-0.008940698,-0.06973744,0.018179419,-0.037252907,0.036060814,0.009238721,-0.07778407,-0.031292442,0.015795233,-0.073611744,0.04023314,0.1114607,0.09000302,-0.03486872,-0.20712617,-0.037252907,0.072717674,0.09089709,-0.1332164,-0.11801721,0.10311605,0.07420779,0.038445,-0.10877849,0.13381244,0.051558025,-0.17315151,-0.011324883,-0.17941,0.05185605,0.14811756,-0.030398373,0.022649767,-0.031590465,0.08702279,-0.08285046,-0.0935793,0.020861628,-0.038146976,0.09417535,-0.11593105,0.033378605,0.102520004,-0.06586314,0.099837795,-0.16391279,-0.048577793,0.07212163,-0.13053419,0.09596349,0.02741814,0.04589558,0.033378605,-0.17285348,0.07957221,-0.028014187,-0.106394306,0.07629395,-0.058114536,0.106394306,0.046491627,-0.10401012,0.091195114,-0.07063151,-0.09566547,-0.006854535,0.001192093,-2.9802325E-4,-0.07897616,0.16182663,0.11414291,-0.0679493,0.0038743024,-0.15079977,-0.11622907,0.063478954,0.026226047,0.009238721,-0.014901163,0.0029802327,0.12546779,0.07063151,-0.047683723,-0.1460314,-0.14305116,-0.07420779,0.0602007,0.22500756,-0.043511394,-0.06943942,0.07331372,-0.06318093,-0.008344651,-0.063478954,-0.09208918,0.055134304,0.037252907,0.010728837,0.057816513,0.053346165,-0.05751849,-0.06765128,0.051260002,-0.088512905,-0.13947488,0.011622907,0.085830696,0.20205978,-0.08136035,-0.1332164,0.14334919,-0.07241965,-0.09328128,-0.12606384,0.05215407,0.2536178,-0.11950733,-0.016093256,0.009536744,-0.059902675,0.03010035,-0.024437908,0.02831221,-0.17762186,0.013113024,0.20831826,-0.049769886,0.018775465,-0.07241965,-0.10222198,0.020265581,-0.08285046,0.110864654,0.116527095,-0.1370907,-0.0035762792,-0.023245813,0.014007093,0.085830696,-0.14841558,0.08821488,0.04321337,-0.27269128,0.09596349,0.18984082,-0.008344651,-0.052750118,-0.08642674,0.018179419,-0.07808209,-0.07152558,0.040829185,0.08553267,0.0947714,-0.1370907,0.039935116,0.10699035,-0.08702279,-0.07331372,-0.08642674,-0.009834767,-0.011324883,0.050663956,0.1114607,0.047981746,-0.07718802,-0.05841256,-0.027120117,-0.08791686,0.15676023,5.960465E-4,-0.048875816,-0.028014187,-0.16361476,0.20384791,-0.18090011,-0.004768372,0.22768977,-0.11116268,0.27984384,-0.35196546,-0.3919006,0.15974046,0.2500415,0.31709674,-0.16719104,-0.13291837,-0.05930663,0.024735931,0.111758724,-0.20772222,-0.07778407,0.063478954,-0.10669233,0.23365024,0.072717674,0.020563604,0.1204014,-0.44047838,0.0846386,-0.1782179,-0.20384791,0.46938664,0.05662442,0.20593408,-0.12248756,-0.24616721,0.1755357,-0.19699338,-0.17881395,0.090301044,0.017285349,0.035464767,0.035166744,0.15199186,0.091195114,-0.23543838,-0.045597557,-0.05096198,-0.13887884,0.09208918,0.086724766,0.22590163,0.019073488,-0.3063679,0.016689302,-0.0053644185,-0.07450581,0.061690815,0.017583372,-0.02741814,-0.1037121,0.16421081,0.115633026,-0.12129547,-0.08344651,-0.12874605,0.12367965,0.0730157,-0.079274185,0.14334919,-0.0017881396,-0.11712314,-0.056922443,-0.068247326,0.0020861628,0.016689302,0.062584884,-0.018775465,-0.024437908,0.088512905,0.010430814,-8.940698E-4,-0.12338163,-0.16957523,0.120997444,0.07152558,-0.06675721,0.13411047,0.011622907,0.008344651,-0.08046628,-0.2112985,0.07122756,-0.006556512,0.058114536,-0.0730157,0.032186512,0.18477441,-0.1397729,0.109970585,-0.13530256,-0.12606384,0.085830696,-0.1397729,0.15497209,0.04142523,0.0074505815,0.035166744,-0.21964315,0.04142523,0.012516977,-0.060498722,0.1499057,-0.038146976,-0.0071525583,-0.027716164,-0.0986457,0.085830696,-0.08374453,0.03933907,0.017881395,-8.940698E-4,0.11503698,-0.101625934,0.09417535,-0.11801721,-0.111758724,-0.006556512,-0.14334919,0.30726197,0.015795233,-0.123977676,0.06586314,-0.02294779,0.07390977,-0.23007396,-0.061988838,0.19997361,-0.047683723,0.018179419,0.008940698,-0.0128150005,8.940698E-4,-0.1588464,-0.052452095,0.045597557,0.025033955,0.15497209,0.13619663,-0.06616116,-0.28520826,-0.09179116,0.19282106,-0.13232233,-0.015199186,0.15735628,0.019371511,0.16599895,-0.2512336,-0.025033955,0.23216012,-0.37759548,-0.07480384,-0.04410744,0.18566848,0.47504908,-0.3102422,-0.041723255,0.019669535,-0.12248756,0.030398373,-0.3308058,0.32991174,0.10490419,-0.3358722,0.3486872,0.051260002,-0.12606384,-0.13440849,-0.09536745,0.20474198,-0.18745662,-0.14275314,0.2741814,0.1883507,-0.16748907,-0.22917989,0.13798477,0.108182445,-0.1358986,-0.23394826,0.09387733,0.3126264,-0.119209304,-0.09417535,0.008046628,0.049769886,-0.07212163,-0.1782179,0.22739175,0.011324883,-0.09685756,0.038146976,0.04321337,-0.07539988,-0.12695791,0.10311605,-0.030696396,0.01102686,0.018477442,0.087618835,0.017583372,-0.033676628,-0.027716164,-0.26315454,0.11354686,0.04142523,0.0050663953,0.020265581,-0.109970585,0.24437907,-0.12576582,-0.06675721,0.11801721,-0.21755698,0.049471863,0.015199186,-0.023841862,0.10102989,-0.0154972095,0.029504303,-0.031590465,-0.09059907,-0.07569791,0.008642674,0.091195114,-0.024437908,0.038445,0.02831221,-0.12218954,-0.14632942,-0.015199186,0.21040443,0.10877849,-0.010728837,-0.07778407,-0.034570698,-0.05483628,-0.11116268,0.043511394,-0.0602007,0.04589558,0.12516977,0.025033955,0.039041046,-0.0154972095,-0.085830696,-0.058710583,-0.16987325,-0.1564622,0.18566848,0.15467407,0.18805268,-0.033676628,-0.025630001,-0.09775163,-0.19997361,0.09328128,-0.33944848,0.31590465,0.14811756,-0.25153163,0.28103593,-0.12665989,0.18119814,-0.11414291,-0.26077035,-0.047087677,-0.2190471,0.10937454,0.1576543,0.37729746,0.073611744,-0.15109779,-0.09208918,-0.33676627,-0.0602007,0.09059907,0.026822094,-0.010728837,0.06586314,0.11950733,0.12636186,0.17166139,-0.14930965,-0.29176477,-0.29504302,-0.19520524,0.23484233,0.3448129,0.22888187,0.23514035,-0.2229214,-0.46670443,-0.042617325,-0.088512905,0.08702279,0.008642674,0.02115965,0.12367965,-0.10132791,0.5114079,-0.0041723256,-0.22739175,-0.19222501,-0.52452093,-0.056028374,0.089406975,0.61184174,0.2357364,-0.07480384,-0.043511394,-0.48100954,0.032186512,0.020861628,-0.11950733,0.081062324,-0.068247326,0.08702279,0.16570093,0.10937454,0.09149314,-0.12665989,-0.24616721,-0.1704693,0.05394221,0.09566547,0.049471863,0.11444093,-0.010132791,-0.033378605,-0.037848953,-0.11384489,0.07897616,-0.024735931,-0.16421081,0.012516977,0.09059907,0.14960767,-0.08434058,0.03308058,-0.0041723256,-0.12904407,0.20027164,-0.14901163,-0.15378,0.025033955,-0.008642674,0.024735931,0.03397465,0.19013885,-0.04589558,-0.04112721,-0.068247326,-0.1242757,0.071823604,-0.109076515,-0.16838314,0.12516977,0.23096803,0.05573035,0.060796745,-0.11801721,-0.12576582,-0.0059604654,-0.20563605,0.013411047,0.13023616,-0.044703487,0.025033955,0.14007093,0.114738956,0.03576279,-0.1946092,-0.1588464,0.028908256,-0.11295082,-0.026226047,0.098049656,0.16093256,0.07718802,-0.037252907,0.03665686,-0.0947714,-0.24795535,-0.11265279,0.1832843,-0.03486872,-0.039041046,0.294745";
        String y="0.063478954,0.0077486048,-0.0679493,0.043809418,-0.041723255,0.02115965,0.011324883,-0.028908256,0.0053644185,-0.022649767,8.940698E-4,-0.04321337,0.025630001,0.02294779,-0.05394221,0.053346165,-0.033676628,-0.040829185,0.039637093,-0.07867814,0.03665686,0.03010035,-0.05841256,0.07063151,-0.054538257,-0.023841862,0.043511394,-0.07063151,0.03010035,-0.011324883,-0.02294779,0.011324883,-0.033378605,0.04410744,-0.004768372,-0.0077486048,-0.015199186,-0.05483628,0.028014187,-0.019967558,0.0071525583,0.006556512,-0.045597557,0.048875816,-0.04827977,-0.021457674,0.056028374,-0.057816513,0.019073488,-0.013411047,-0.036954883,0.025928024,-0.031590465,0.030696396,-0.008046628,-0.012218954,0.004768372,-0.064373024,0.044703487,-0.0074505815,-0.028908256,0.021457674,-0.059604652,0.06139279,0.002384186,-0.07390977,0.0679493,-0.05930663,-0.009834767,0.059008606,-0.09834768,0.06616116,0.013113024,-0.116527095,0.06675721,0.0062584886,-0.025928024,0.009536744,-0.032484535,0.002384186,-0.010132791,-0.010728837,-0.018775465,0.01639128,0.010728837,-0.04827977,0.04410744,-0.009238721,-0.06705523,0.06467105,-0.04023314,-0.028908256,0.078380115,-0.0947714,0.014007093,0.035464767,-0.08702279,0.06586314,-0.028014187,-0.04589558,0.06496907,-0.046491627,-0.03188849,0.03397465,-0.001192093,-0.0077486048,0.0074505815,-0.03308058,-0.0056624417,0.041723255,-0.06645919,-0.026226047,0.068247326,-0.041723255,8.940698E-4,0.021755697,-0.05185605,0.03308058,-0.036060814,-0.0473857,0.055432327,-0.017881395,-0.0029802327,0.028908256,-0.04142523,-0.021457674,0.013411047,-0.04112721,2.9802325E-4,0.033676628,-0.041723255,0.010132791,0.012218954,-0.039041046,0.03486872,0.008940698,-0.049471863,0.0020861628,-0.012516977,-0.009536744,0.045597557,-0.02831221,-0.048875816,-0.032484535,-0.049769886,0.05841256,0.061988838,-0.028908256,-0.001192093,-0.018775465,-0.04321337,0.0154972095,-0.036954883,-0.039637093,0.037252907,-0.021755697,0.01370907,0.07152558,0.014007093,-0.0473857,-0.06884337,-0.028610233,-0.024735931,0.024139885,0.01460314,-0.015795233,0.053346165,-0.025033955,-0.03486872,0.04112721,-0.036358837,-0.04023314,-0.0038743024,-0.029504303,0.047087677,0.025928024,-0.052750118,0.028014187,-0.010430814,-0.045597557,0.011920931,-0.025928024,-0.008642674,0.049471863,-0.025331978,-0.04589558,0.061690815,-0.05006791,-0.033378605,0.047683723,-0.10699035,0.06586314,0.024735931,-0.11414291,0.12367965,-0.043809418,-0.07450581,0.06288291,-0.07569791,0.05751849,-0.003278256,-0.08136035,0.08136035,-0.023543838,-0.011324883,-0.015199186,-0.033676628,0.014305117,-0.027120117,0.08434058,-0.036358837,-0.036954883,0.020861628,-0.115633026,0.09655954,-0.008642674,-0.06318093,0.10788442,-0.12755395,0.025331978,0.0846386,-0.12278558,0.067353256,-0.011622907,-0.055134304,0.056028374,-0.0730157,0.030398373,0.03933907,-0.05483628,0.0041723256,-0.02205372,-0.006854535,-0.028014187,0.018179419,0.009238721,-0.04678965,0.059902675,-0.035166744,-0.010430814,0.02920628,-0.10460617,0.025033955,0.0077486048,-0.023543838,0.100731865,-0.053346165,-0.070035465,0.03278256,-0.04917384,0.0050663953,0.028908256,-0.017285349,0.03010035,-0.02920628,-0.049769886,0.02652407,0.0038743024,-0.04202128,0.0154972095,0.019669535,-0.031292442,0.024437908,-0.03010035,-0.05841256,0.07033349,-0.01460314,-0.054240234,0.0602007,-0.040829185,-0.032186512,0.0423193,-0.03397465,0.027120117,-0.0017881396,-0.06616116,0.0041723256,0.024139885,-0.0062584886,-0.031292442,0.022649767,-0.020265581,-0.021457674,0.021457674,-0.047981746,0.029504303,0.021457674,-0.059604652,0.01460314,-0.006854535,-0.04410744,0.033378605,-0.03308058,-0.038146976,0.07033349,-0.048577793,-0.0154972095,0.035464767,-0.059008606,0.027716164,-0.028908256,-0.04321337,0.06377698,-0.025033955,-0.030994419,0.024139885,-0.001192093,-0.019967558,-0.0035762792,0.01102686,-0.002384186,0.018477442,-0.040829185,-0.03188849,0.051558025,-0.07122756,-0.01102686,0.06973744,-0.052452095,0.025630001,-0.016689302,-0.056922443,0.06854535,-0.037252907,-0.04500151,0.037252907,-0.027716164,0.008344651,0.017583372,-0.035166744,0.017583372,0.009834767,-0.05215407,-0.030398373,0.039041046,-0.025928024,-0.038743023,0.07420779,-0.059604652,-0.0026822092,0.02831221,-0.12576582,0.09655954,-0.033676628,-0.0846386,0.13172628,-0.10848047,0.02115965,0.08434058,-0.12636186,0.057220466,0.0050663953,-0.056028374,0.043809418,-0.045299534,5.960465E-4,0.024139885,-0.023245813,-0.0020861628,0.008344651,0.0077486048,-0.06377698,0.016987326,0.032484535,-0.04678965,0.038743023,-0.05304814,-0.013113024,0.060796745,-0.0846386,0.024735931,0.043809418,-0.09059907,0.02294779,0.056028374,-0.081956394,0.0074505815,0.016689302,-0.08285046,0.079274185,-0.020265581,-0.070929535,0.07778407,-0.064373024,0.018179419,0.050663956,-0.111758724,0.032186512,0.03188849,-0.0807643,0.02831221,0.011622907,-0.04142523,0.049471863,-0.018179419,-0.052750118,0.057816513,-0.03665686,-0.049769886,0.05573035,-0.046193603,0.0041723256,0.055432327,-0.058114536,0.03188849,0.0128150005,-0.102520004,0.01370907,0.055432327,-0.055432327,0.018179419,0.039935116,-0.07420779,0.039041046,-0.0059604654,-0.06645919,0.046193603,-0.054240234,-0.0128150005,0.0602007,-0.038445,-5.960465E-4,0.029504303,-0.04410744,-0.03755093,-0.001192093,-0.019371511,0.02205372,-0.0041723256,-0.041723255,0.03308058,-0.02652407,-0.038743023,0.06675721,-0.032186512,-0.050663956,0.04142523,-0.050663956,0.018775465,0.040829185,-0.06586314,0.047683723,0.0017881396,-0.07212163,0.023841862,0.006854535,-0.024139885,0.024139885,-0.040829185,-0.04500151,0.080168255,-0.042617325,-0.019073488,0.044703487,-0.07331372,0.025630001,-0.015199186,-0.04142523,0.027120117,-0.004470349,0.004470349,-0.020861628,0.030696396,-0.022351744,-0.019967558,0.024735931,-0.08434058,0.055432327,0.0077486048,-0.09238721,0.09417535,-0.025033955,-0.06586314,0.03755093,-0.054538257,0.006854535,0.028610233,-0.06109477,0.0014901164,0.037848953,-0.03010035,-0.008940698,0.02652407,-0.04142523,0.0020861628,0.008940698,-0.06139279,0.053346165,0.0128150005,-0.07122756,0.05215407,-0.021457674,-0.044405464,0.044703487,-0.059604652,0.014901163,0.033676628,-0.100731865,0.05394221,0.030994419,-0.072717674,0.046193603,-0.034570698,-0.047087677,0.03010035,-0.026226047,-0.0035762792,0.027716164,0.0154972095,-0.025331978,0.0041723256,2.9802325E-4,-0.04202128,0.019669535,-0.068247326,-0.008642674,0.09089709,-0.081956394,8.940698E-4,0.041723255,-0.045597557,0.050663956,-0.05662442,-0.073611744,0.07152558,-0.0071525583,-0.032484535,0.031292442,-0.0017881396,-0.032186512,0.004470349,-0.025331978,-0.01460314,0.03933907,-0.05215407,0.01370907,0.057220466,-0.06526709,0.014007093,-0.011622907,-0.051260002,0.059604652,-0.037848953,-0.044405464,0.046193603,-0.013113024,-0.0053644185,8.940698E-4,-0.036954883,-0.009536744,0.008344651,-0.019371511,-0.016093256,0.027120117,0.013411047,-0.012516977,-0.011920931,-0.02294779,0.006854535,-0.031590465,-0.04917384,0.0679493,-0.0014901164,-0.06556512,0.032186512,0.0029802327,-0.004470349,0.0056624417,-0.049769886,-0.001192093,0.029504303,-0.052452095,-0.023841862,0.072717674,-0.023543838,-0.048875816,0.04142523,-0.039935116,-0.002384186,0.03308058,-0.06854535,0.039637093,0.019073488,-0.05096198,0.051558025,-0.040531162,-0.025928024,0.044405464,-0.0807643,0.0038743024,0.051260002,-0.05304814,0.022351744,-0.009536744,-0.0473857,0.047087677,-0.05304814,-0.039637093,0.0730157,-0.020563604,-0.019967558,0.008940698,-0.04112721,0.013411047,0.004470349,-0.061690815,0.039935116,0.06228686,-0.07689,-0.02115965,0.0053644185,-0.08136035,0.038445,0.038445,-0.03397465,0.063478954,-0.03933907,-0.07778407,0.08255244,-0.048577793,-0.07450581,0.059008606,-0.035166744,0.037252907,0.055134304,-0.07212163,0.036060814,-0.003278256,-0.08791686,0.02831221,-0.016689302,-0.020861628,0.08791686,-0.010728837,-0.055134304,0.02831221,-0.03665686,-0.05394221,0.03933907,-0.043809418,-0.008046628,0.06318093,-0.06645919,0.0423193,0.02741814,-0.10281803,0.025331978,-0.018477442,-0.04917384,0.05841256,-0.0128150005,-0.012516977,0.050663956,-0.080168255,-0.03397465,0.054240234,-0.07152558,-0.008344651,0.06109477,-0.049769886,-0.019371511,0.08344651,-0.05215407,-0.04827977,0.07063151,-0.10222198,0.03278256,0.072717674,-0.12159349,0.09149314,-8.940698E-4,-0.106394306,0.071823604,-0.023245813,-0.039041046,0.028908256,-8.940698E-4,-0.027716164,0.013411047,0.0035762792,-0.062584884,0.05185605,-0.036358837,-0.06854535,0.1037121,-0.07122756,-0.012516977,0.069141395,-0.08374453,0.04917384,-0.02115965,-0.08225442,0.040531162,-0.0050663953,-8.940698E-4,-0.002384186,2.9802325E-4,-0.01102686,-0.008046628,0.001192093,-0.035166744,0.018477442,-0.03010035,-0.026226047,0.03933907,-0.009238721,0.021457674,-0.012516977,-0.056028374,0.019073488,-0.004768372,-0.031590465,0.03278256,0.012516977,-0.02831221,0.0053644185,-0.017583372,-0.033676628,0.03576279,-0.009238721,-0.035166744,0.05483628,-0.0154972095,-0.025630001,0.011622907,-0.070035465,0.013113024,0.016093256,-0.07152558,0.04500151,0.028908256,-0.061988838,0.02652407,-0.010728837,-0.04112721,0.03278256,-0.04678965,-0.0056624417,0.052750118,-0.0473857,0.0017881396,0.029504303,-0.047087677,2.9802325E-4,0.0020861628,-0.064373024,0.039637093,0.033378605,-0.043809418,0.03308058,-0.051260002,-0.027120117,0.0423193,-0.07033349,0.028908256,0.03486872,-0.050365932,0.036060814,-0.01102686,-0.047683723,0.05006791,-0.037848953,-0.06943942,0.087618835,-0.017285349,-0.036358837,0.078380115,-0.062584884,-0.023245813,0.034570698,-0.09417535,0.014901163,0.057816513,-0.0602007,-0.0020861628,0.028908256,-0.0074505815,-0.025331978,-0.004768372,-0.020265581,-0.036358837,0.044703487,-0.050365932,0.018477442,0.07450581,-0.1037121,0.03576279,-0.0014901164,-0.049769886,0.058710583,-0.09834768,0.016689302,0.063478954,-0.08225442,0.038445,-0.008642674,-0.02741814,0.049471863,-0.08314849,-0.002384186,0.06467105,-0.056028374,-0.011622907,0.020861628,0.0154972095,-0.036060814,-0.02205372,0.031590465,-0.053346165,0.040829185,0.016689302,-0.072717674,0.06943942,-0.047683723,-0.06884337,0.07510186,-0.06765128,-0.0053644185,0.04678965,-0.084936626,0.06139279,0.021755697,-0.06675721,0.038743023,-0.025033955,-0.018477442,0.02115965,-0.026226047,0.010132791,0.027716164,-0.056028374,-0.009536744,0.031590465,-0.063478954,0.021755697,0.013113024,-0.05930663,0.04500151,-0.018179419,-0.058114536,0.025331978,-0.014901163,-0.0071525583,0.021755697,-0.017285349,-2.9802325E-4,0.016093256,-0.036954883,-0.0423193,0.052750118,-0.001192093,-0.054538257,0.043809418,-0.013411047,0.0026822092,0.02115965,-0.078380115,0.016093256,-0.006556512,-0.056326397,0.032186512,0.009238721,0.018775465,0.018775465,-0.03188849,-0.0473857,0.025033955,-0.028908256,-0.06318093,0.08374453,-0.029504303,-0.006556512,0.028014187,-0.029504303,0.03397465,-0.034272674,-0.034272674,-0.03010035,-0.01639128,-0.03576279,0.047981746,0.06854535,-0.039935116,0.037252907,-0.061690815,-0.06645919,0.0128150005,-0.039637093,0.02652407,-0.0053644185,-0.028014187,0.052750118,0.0029802327,-0.014007093,0.004470349,-0.033676628,-0.04827977,-0.05185605,0.037252907,0.06377698,0.038743023,0.024735931,-0.050663956,-0.029504303,-0.048577793,-0.038743023,0.027120117,-0.0062584886,-0.006556512,0.012516977,-0.006556512,0.028014187,0.048577793,-0.07331372,-0.04827977,-0.01460314,-0.061988838,0.04023314,0.03486872,0.04410744,0.020265581,-0.07689,-0.013113024,-0.01370907,-0.024139885,0.0020861628,-0.030398373,-0.0062584886,0.02831221,0.013411047,-0.0017881396,-0.0041723256,-0.0026822092,-0.04142523,-0.035166744,0.0035762792,0.002384186,0.019371511,-0.015795233,0.006556512,0.012218954,-0.025331978,0.0074505815,-0.03486872,0.0053644185,0.01460314,-0.034570698,-0.0041723256,0.003278256,0.026226047,-0.026822094,-0.006854535,0.009834767,-0.024735931,0.023245813,-0.06318093,-0.025630001,0.042617325,-0.047981746,0.02652407,0.042617325,-0.035464767,0.001192093,-0.027716164,-0.03397465,0.028610233,-0.030398373,-0.048577793,0.017583372,0.020265581,0.015199186,0.0059604654,-0.042915348,-0.010132791,0.028014187,-0.057220466,-0.025033955,0.039041046,-0.001192093,-0.01102686,-0.012516977,0.03278256,0.020265581,-0.052750118,-0.035464767,0.0026822092,-0.01370907,-0.021755697,0.019073488,0.02294779,0.006556512,-5.960465E-4,-0.014007093,-0.034570698,-0.033676628,-0.024735931,-0.0029802327,0.030994419,0.0071525583,0.011920931";
        String z="-0.01370907,-0.01639128,0.025033955,-0.024437908,0.009238721,-0.030398373,-0.035464767,0.002384186,-0.004470349,0.010430814,8.940698E-4,0.026226047,-0.018775465,-0.03486872,0.010728837,-0.05483628,-0.0026822092,0.032484535,-0.027120117,0.045597557,-0.018775465,-0.05006791,0.023245813,-0.061988838,0.014007093,0.025033955,-0.038445,0.04202128,-0.030696396,-0.0035762792,0.029802326,-0.027716164,8.940698E-4,-0.045299534,-0.021755697,0.009834767,0.008046628,0.034272674,-0.025928024,-0.012516977,-0.006556512,-0.028908256,0.018179419,-0.014901163,2.9802325E-4,0.009536744,-0.036954883,0.0014901164,-0.0056624417,0.0035762792,0.01102686,-0.019967558,-0.004768372,-0.03486872,-0.016987326,0.0029802327,-8.940698E-4,0.030994419,-0.030696396,-0.008344651,0.019371511,-0.039041046,0.025630001,-0.035464767,-0.039935116,0.05185605,-0.05483628,0.022351744,0.021755697,-0.04500151,0.049769886,-0.06765128,-0.019073488,0.054538257,-0.05662442,-0.0071525583,0.0041723256,0.0026822092,0.018775465,-0.017583372,-0.017881395,-0.009834767,0.013411047,-0.01639128,-0.02831221,0.021755697,-0.025630001,-0.009536744,0.033676628,-0.0423193,0.0026822092,0.004768372,-0.04589558,0.03933907,-0.022649767,-0.03010035,0.04142523,-0.04827977,0.009238721,0.017583372,-0.055432327,0.034570698,0.01102686,-0.04112721,-0.0077486048,-0.0014901164,-0.0053644185,0.003278256,-0.006556512,-0.039935116,0.019371511,0.029802326,-0.043809418,0.0059604654,-0.016093256,-0.03278256,0.035464767,-0.039637093,0.013113024,0.028908256,-0.05215407,0.035166744,-0.02741814,-0.048577793,0.02741814,-0.017583372,0.008046628,0.020563604,-0.016093256,-0.032186512,-5.960465E-4,0.01460314,-0.023245813,0.002384186,-0.03755093,-0.029802326,0.045597557,-0.0077486048,-0.003278256,-0.032186512,-0.07152558,0.036358837,0.08612872,0.035166744,-0.030398373,-0.064373024,-0.06586314,-0.019073488,-0.0020861628,0.022649767,0.029504303,-0.025331978,0.037848953,0.020563604,-0.017285349,-8.940698E-4,-0.07957221,-0.08255244,-0.040531162,0.046193603,0.08702279,0.048875816,0.021755697,-0.08642674,-0.019967558,0.018477442,-0.08910895,0.0077486048,-0.0038743024,-0.030994419,0.056922443,0.03665686,0.019371511,-0.02652407,-0.07331372,-0.037848953,0.020265581,-0.020861628,-0.0062584886,0.056922443,-0.009536744,0.0059604654,-0.010132791,-0.059902675,0.0020861628,-0.006556512,-0.038445,0.030696396,0.018775465,-0.022649767,0.04500151,-0.044405464,-0.05185605,0.04500151,-0.056326397,0.01102686,0.04827977,-0.06467105,0.018775465,-0.0053644185,-0.024139885,0.018179419,-0.06526709,0.01460314,0.02205372,-0.008940698,0.048577793,-0.024139885,-0.04410744,-0.05185605,-0.006556512,0.039041046,-0.0050663953,0.03665686,-0.039637093,-0.019967558,0.04500151,-0.07569791,0.032186512,-0.01460314,-0.085830696,0.08136035,-0.038445,-0.008344651,0.056922443,-0.054240234,0.014901163,-0.030696396,-0.040829185,0.013113024,-0.014901163,0.035464767,0.0056624417,-0.010430814,-0.011622907,-0.024437908,-0.001192093,-0.05215407,0.010430814,0.016987326,-0.022649767,0.047087677,-0.009238721,-0.006854535,-0.03188849,-0.09238721,0.04023314,0.04589558,-0.016689302,0.020861628,-0.008046628,-0.036954883,-0.015199186,-0.017583372,0.0026822092,0.0041723256,-0.03188849,0.013113024,0.029802326,-0.021457674,-0.02205372,-0.008940698,-0.024139885,0.006556512,0.01460314,-0.038146976,0.0062584886,0.013411047,-0.039935116,0.008940698,0.009536744,-0.034272674,-0.009238721,-0.0074505815,0.0038743024,0.018179419,-0.010132791,-0.025928024,-0.0038743024,0.0056624417,-0.025928024,0.0128150005,-0.006854535,-0.024139885,0.026822094,-0.036358837,-0.019967558,0.025033955,-0.013113024,-0.01460314,0.001192093,-0.006854535,0.0059604654,0.016093256,-0.04112721,0.010132791,0.004768372,-0.057816513,0.023841862,-0.006854535,0.002384186,0.01460314,-0.05394221,0.03010035,-0.001192093,-0.039935116,0.014901163,-0.0077486048,-0.009536744,-0.04678965,0.001192093,0.020861628,-0.0128150005,0.017881395,-0.03933907,0.043809418,0.006854535,-0.09685756,0.03665686,-0.024139885,-0.013113024,0.040829185,-0.057816513,0.03278256,0.017285349,-0.03308058,0.021755697,-0.048875816,-0.03278256,0.018477442,-0.011920931,-0.0077486048,0.011920931,0.025630001,-0.015795233,-0.014305117,0.0050663953,-0.068247326,0.01102686,0.010430814,-0.031590465,0.07897616,-0.056326397,-0.0062584886,0.054538257,-0.09328128,0.045597557,-0.028908256,-0.06675721,0.079274185,-0.051260002,-0.003278256,0.040829185,-0.058710583,0.022649767,-0.0077486048,-0.030398373,0.0077486048,-0.022351744,0.0062584886,-0.017285349,0.029802326,-0.0017881396,-0.057816513,0.030994419,-0.035166744,0.008344651,0.014305117,-0.0473857,0.061988838,-0.06526709,-0.041723255,0.10222198,-0.09387733,-0.03308058,0.08732081,-0.04917384,0.02205372,0.015795233,-0.08344651,0.03397465,0.021755697,-0.05215407,-0.0053644185,-0.020265581,0.0059604654,0.039637093,-0.026822094,-0.012218954,0.026226047,-0.02652407,-0.026226047,0.0071525583,-0.04023314,-0.0017881396,0.024139885,-0.04321337,0.024735931,0.024139885,-0.042915348,0.009238721,-0.014901163,-0.05096198,-0.0014901164,-0.0128150005,0.0077486048,0.058710583,-0.019371511,-0.046193603,0.009536744,-0.03308058,-0.026822094,0.03188849,-0.03188849,-0.004470349,0.044703487,-0.028908256,0.01102686,-0.0017881396,-0.04112721,-5.960465E-4,-0.034570698,-0.016987326,0.016987326,0.030994419,0.019073488,-0.016689302,-0.03278256,-0.023841862,0.014901163,-0.019967558,2.9802325E-4,0.008940698,-0.043511394,0.016987326,0.018179419,-0.030398373,0.018775465,-0.0035762792,-0.042617325,0.002384186,-0.038146976,-0.003278256,0.050365932,-0.018179419,-0.018775465,-0.0062584886,-0.0077486048,0.021457674,0.0062584886,-0.063478954,0.004470349,0.019073488,-0.057220466,0.030398373,0.0017881396,5.960465E-4,0.040829185,-0.043511394,-0.020563604,-0.004768372,-0.012218954,-0.023543838,-0.0077486048,0.017285349,-0.017583372,0.029802326,-0.026226047,-0.028908256,0.056028374,-0.06973744,-0.0074505815,0.036060814,-0.064075,0.052452095,0.0020861628,-0.04321337,0.0423193,-0.031292442,-0.025033955,-0.0062584886,-0.019073488,0.011622907,-0.006556512,-0.0053644185,0.001192093,0.010132791,-0.024735931,-0.044703487,0.02294779,-0.014007093,-0.016987326,0.02294779,-0.023245813,0.023245813,-0.01639128,-0.03665686,0.05841256,-0.06228686,-0.048577793,0.045597557,-0.033676628,0.032186512,0.027716164,-0.03755093,0.0056624417,-0.010132791,-0.022351744,-0.025033955,-0.012516977,-0.021755697,-0.008344651,0.047683723,2.9802325E-4,0.02205372,-0.01460314,-0.07957221,0.0423193,-0.020861628,-0.0473857,0.039637093,-0.04202128,0.02741814,0.04678965,-0.058710583,-0.0035762792,-0.0062584886,-0.038743023,-0.0074505815,0.008642674,5.960465E-4,-0.0026822092,0.015795233,-0.009238721,0.0035762792,-0.030398373,-0.06616116,0.035464767,-0.002384186,-0.019967558,0.032186512,-0.03397465,0.028908256,0.006854535,-0.07778407,0.013411047,-0.001192093,-0.008642674,0.018477442,-0.014305117,-0.004470349,2.9802325E-4,0.016093256,-0.02831221,-0.040829185,0.008046628,-0.015795233,0.01460314,0.011622907,-0.0038743024,0.019669535,-0.05662442,-0.018775465,0.038445,-0.030696396,-5.960465E-4,-0.0071525583,-0.034272674,0.03397465,-0.01370907,-0.033676628,0.05215407,-0.009238721,-0.06973744,0.0059604654,0.01370907,-0.016689302,0.01460314,-0.0041723256,-0.017285349,0.021457674,-0.045597557,-0.030696396,0.034272674,-0.040829185,-0.0017881396,0.006556512,-0.016093256,0.044405464,-0.017285349,-0.029504303,0.008940698,-0.04023314,-0.02115965,0.029802326,-0.02115965,0.015199186,0.027716164,-0.07629395,0.008046628,0.01102686,-0.028908256,0.04202128,-0.03933907,0.0050663953,0.021457674,-0.062584884,-0.025630001,-0.0128150005,0.051558025,0.05215407,0.0059604654,-0.07569791,-0.07241965,0.04321337,-0.025928024,0.0017881396,0.032484535,-0.060796745,0.043809418,0.039637093,-0.05394221,0.032186512,-0.072717674,-0.05751849,0.037252907,-0.048875816,0.059008606,0.025928024,-0.0020861628,0.030398373,-0.07480384,-0.061690815,-0.03278256,0.02831221,0.016987326,-0.017881395,0.047087677,-0.002384186,-0.0056624417,-0.003278256,-0.054538257,0.019371511,-0.05215407,-0.042617325,0.08344651,-0.019371511,0.0053644185,0.04023314,-0.060796745,-0.02294779,-0.024139885,-0.04023314,0.0679493,0.011622907,-0.039935116,0.03486872,-0.01370907,-0.04202128,0.015795233,0.014007093,-0.076591976,-2.9802325E-4,0.03755093,-0.042915348,0.06705523,-0.045299534,-0.06765128,0.07569791,-0.08523465,-0.008940698,0.064075,-0.045299534,0.024139885,8.940698E-4,-0.030696396,-0.0071525583,8.940698E-4,-0.011920931,-0.030398373,0.021755697,-0.023841862,0.009238721,0.05096198,-0.0679493,0.008940698,0.0026822092,-0.06675721,0.04202128,-0.036954883,0.008940698,0.064075,-0.045597557,0.0056624417,-0.025630001,-0.0059604654,-0.0038743024,-0.03576279,0.011324883,-0.018775465,0.027120117,-0.008046628,0.0026822092,0.023245813,-0.067353256,-0.010132791,-0.016689302,-0.008940698,0.04500151,-0.020563604,-0.0038743024,0.0077486048,-0.045299534,-0.0059604654,0.0050663953,-0.010728837,0.010430814,0.0026822092,-0.015199186,-0.014901163,0.010728837,-0.04500151,-0.018775465,0.018179419,-0.036060814,0.050365932,-0.0059604654,-0.012516977,0.05006791,-0.08732081,-0.015795233,0.034570698,-0.0423193,-8.940698E-4,0.0059604654,0.018179419,0.010728837,-0.038743023,-0.017881395,0.0020861628,-0.0154972095,-0.017583372,0.008940698,0.018477442,-5.960465E-4,0.0128150005,-0.038743023,-0.054538257,0.002384186,-0.025928024,0.059902675,0.025331978,-0.07033349,0.05483628,-0.031590465,-0.054538257,0.019967558,-0.06318093,0.038445,0.013411047,-0.06943942,0.08046628,0.028014187,-0.05662442,-0.024735931,-0.056326397,-0.0071525583,0.020563604,0.0128150005,-0.011324883,0.022649767,0.041723255,-0.09238721,0.006556512,0.035166744,-0.07957221,-2.9802325E-4,0.009536744,0.01102686,0.014901163,-0.017583372,0.0026822092,0.01639128,-0.059008606,-0.06556512,0.064075,0.003278256,-0.031292442,0.0071525583,-0.020265581,0.069141395,-0.03010035,-0.087618835,0.05304814,-0.024139885,-0.01102686,0.012218954,-0.026822094,0.051558025,-0.039935116,-0.040531162,0.032484535,-0.02294779,-0.023841862,0.0041723256,0.022351744,-0.02294779,-0.016987326,0.02920628,-0.041723255,-0.042617325,0.032186512,-0.03755093,0.01639128,0.059902675,-0.070035465,0.027716164,-0.011920931,-0.0473857,0.059902675,-0.07808209,0.0,0.03188849,-0.05483628,0.04917384,-0.021457674,-0.032484535,0.025331978,-0.034272674,-0.028908256,0.013411047,0.0071525583,-0.0154972095,0.019073488,-0.009536744,-0.026822094,0.009834767,-0.037848953,8.940698E-4,0.04023314,-0.01102686,-0.0056624417,-0.025331978,-0.038146976,-0.0074505815,0.0038743024,-0.009238721,0.01370907,0.023543838,-0.033378605,-2.9802325E-4,-0.002384186,-0.049471863,0.002384186,-0.021457674,-0.025033955,0.048577793,-0.004768372,0.019669535,0.038146976,-0.055134304,-0.036358837,-0.04500151,-0.018477442,0.008642674,0.03397465,0.0020861628,-2.9802325E-4,0.06288291,-0.099837795,0.0020861628,0.0059604654,-0.070929535,0.042617325,-0.059604652,0.018477442,0.049471863,0.018775465,0.033378605,-0.017285349,-0.063478954,-0.0947714,-0.0041723256,-0.0071525583,0.042617325,0.073611744,-0.0059604654,-0.010430814,-0.02831221,0.0017881396,-0.013113024,-0.06139279,-0.029802326,-0.02294779,0.0077486048,0.054538257,0.059008606,0.037252907,-0.055432327,-0.100731865,-0.06973744,-0.045597557,0.043809418,0.07539988,0.026822094,0.014901163,-0.02652407,-0.0020861628,-0.02294779,-0.035464767,0.0128150005,-0.10609628,-0.042617325,0.076591976,0.04678965,0.05841256,0.040531162,-0.046193603,-0.12993814,-0.059902675,-0.011324883,0.036060814,0.06884337,-0.0077486048,0.006556512,0.0029802327,-0.0020861628,8.940698E-4,-0.047683723,-0.027120117,-0.034272674,-0.024437908,0.02831221,0.037848953,0.035166744,-0.019967558,-0.025928024,-0.023245813,-0.031590465,-0.0077486048,-0.0074505815,0.0062584886,-2.9802325E-4,5.960465E-4,-8.940698E-4,-0.0050663953,0.0041723256,-0.015199186,-0.039935116,-0.008642674,0.0059604654,-0.009238721,0.0035762792,-0.023841862,0.0,0.04589558,0.0,-0.03308058,0.009536744,-0.025331978,-0.06556512,0.012218954,-0.0020861628,0.0071525583,0.026226047,-0.031590465,0.02294779,0.0423193,-0.04589558,-0.056028374,-0.014901163,-0.030696396,0.021755697,0.02205372,-0.015795233,0.052452095,-0.016689302,-0.039041046,0.01460314,-0.034570698,-0.030398373,-0.028610233,-0.014901163,0.034272674,0.016093256,0.0077486048,0.014007093,-0.017881395,-0.027716164,-0.032484535,-0.03486872,-0.015199186,0.006556512,0.028908256,0.030398373,0.016689302,-0.026226047,-0.020861628,-0.0128150005,-0.06109477";
        x = x+","+x;
        y = y+","+y;
        z = z+","+z;
        String[] xx = x.split(",");
        String[] yy = y.split(",");
        String[] zz = z.split(",");
        double[] xxx =new double[xx.length];
        double[] yyy =new double[yy.length];
        double[] zzz =new double[zz.length];
        for (int i = 0; i < xx.length; i++) {
            xxx[i] = Double.parseDouble(xx[i]);
            yyy[i] = Double.parseDouble(yy[i]);
            zzz[i] = Double.parseDouble(zz[i]);
        }

        Map<String,double[]> hv = hv(100,xxx,yyy,zzz);
        double[] f = hv.get("f");
        double[] h = hv.get("hv");

    }
}
